package com.shop.cereshop.commons.domain.wallet;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 提现手续费配置表实体类
 * 对应表：cere_withdrawal_fee_config
 */
@Data
@ApiModel(value = "CereWithdrawalFeeConfig", description = "提现手续费配置表")
@TableName("cere_withdrawal_fee_config")
public class CereWithdrawalFeeConfig {

  /**
   * 费用配置ID
   */
  @ApiModelProperty(value = "费用配置ID")
  @TableId(type = IdType.AUTO)
  private Long withdrawalFeeId;

  /**
   * 最小金额
   */
  @ApiModelProperty(value = "最小金额")
  private BigDecimal minAmount;

  /**
   * 最大金额，NULL表示无上限
   */
  @ApiModelProperty(value = "最大金额，NULL表示无上限")
  private BigDecimal maxAmount;

  /**
   * 手续费提现百分比
   */
  @ApiModelProperty(value = "手续费提现百分比")
  private BigDecimal feeRate;

  /**
   * 最小手续费
   */
  @ApiModelProperty(value = "最小手续费")
  private BigDecimal minFee;

  /**
   * 最大手续费
   */
  @ApiModelProperty(value = "最大手续费")
  private BigDecimal maxFee;

  /**
   * 状态 1-启用 0-禁用
   */
  @ApiModelProperty(value = "状态 1-启用 0-禁用")
  private Integer state;

  /**
   * 创建时间
   */
  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 更新时间
   */
  @ApiModelProperty(value = "更新时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime updateTime;
}
